﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace System.Windows.Media.DirectShow
{
    public interface IPin : IMediaObject
    {
        IPin ConnectedPin
        {
            get;
        }

        PinDirection Direction
        {
            get;
        }

        IBaseFilter Filter
        {
            get;
        }

        AMMediaType ConnectedMediaType
        {
            get;
        }

        IEnumerable<AMMediaType> MediaTypes
        {
            get;
        }
    
        void Disconnect();

        void Connect(IPin receivePin, AMMediaType mediaType);

        bool QueryAccept(AMMediaType mediaType);

        void EndOfStream();

        void ReceiveConnection(IPin connector, AMMediaType mediaType);
    }
}
